#ifndef REQUIREMENTPROXYMODEL_H
#define REQUIREMENTPROXYMODEL_H



#include "proxies_global.h"
#include "ReferenceProxyModel.h"



class PROXIESSHARED_EXPORT RequirementProxyModel : public ReferenceProxyModel
{
    Q_OBJECT

public:

    enum Field
    {
        Field_FIRST = ReferenceProxyModel::Field_LAST+1,
        ValueField = Field_FIRST,
        Field_LAST = ValueField
    };

    RequirementProxyModel(QObject *parent = 0);

    virtual int columnCount(const QModelIndex &parent) const;

    virtual QVariant data(const QModelIndex &proxyIndex, int role) const;
    virtual bool setData(const QModelIndex &index, const QVariant &value, int role);

    virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const;

    virtual Qt::ItemFlags flags(const QModelIndex &index) const;


protected slots:

    virtual void remap();

    void mapIndex(const int& field, const QModelIndex& sourceIndex);

};



#endif // REQUIREMENTPROXYMODEL_H


